package cn.fl.riskctrl.ysdb.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.riskctrl.ysdb.vo.YsejdCpwsPartyVO;
import fl.riskctrl.facade.ysdb.dto.YsejdCpwsPartyDTO;


 /**
 * @Description: 元素企业司法数据-裁判文书-诉讼当事人(当数据类型为 裁判文书时，会把诉讼当事人List信息存在此表中) 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class YsejdCpwsPartyVOTransform {


     /**
      * DTO 转  VO
      * @param po YsejdCpwsPartyDTO
      * @return YsejdCpwsPartyVO
      */
     public static YsejdCpwsPartyVO baseToVO(YsejdCpwsPartyDTO dto) {
         YsejdCpwsPartyVO  vo = null;
         if (dto != null) {
             vo = new YsejdCpwsPartyVO();
             vo.setId(dto.getId());
             vo.setYsejdEntryDId(dto.getYsejdEntryDId());//裁判文书详细信息ID
             vo.setBirthday(dto.getBirthday());//当事人生日
             vo.setTitle(dto.getTitle());//当事人称号
             vo.setPartyType(dto.getPartyType());//当事人类型
             vo.setLawOffice(dto.getLawOffice());//律师事务所
             vo.setAddress(dto.getAddress());//地址
             vo.setStatus(dto.getStatus());//当事人立场

             vo.setPname(dto.getPname());//当事人名称

             vo.setIdcardNo(dto.getIdcardNo());//当事人身份证号码
             vo.setLawyer(dto.getLawyer());//委托辩护人

             vo.setCrtTm(dto.getCrtTm());//创建时间
             vo.setCrtUsrId(dto.getCrtUsrId());//创建人
             vo.setMdfTm(dto.getMdfTm());//修改时间
             vo.setMdfUsrId(dto.getMdfUsrId());//修改人
         }
         return vo;
     }

     /**
      * VO 转 DTO
      * @param dto YsejdCpwsPartyVO
      * @return YsejdCpwsPartyDTO
      */
     public static YsejdCpwsPartyDTO baseToDTO(YsejdCpwsPartyVO vo) {
         YsejdCpwsPartyDTO dto = null;
         if (vo != null) {
             dto = new YsejdCpwsPartyDTO();
             dto.setId(vo.getId());
             dto.setYsejdEntryDId(vo.getYsejdEntryDId());//裁判文书详细信息ID
             dto.setBirthday(vo.getBirthday());//当事人生日
             dto.setTitle(vo.getTitle());//当事人称号
             dto.setPartyType(vo.getPartyType());//当事人类型
             dto.setLawOffice(vo.getLawOffice());//律师事务所
             dto.setAddress(vo.getAddress());//地址
             dto.setStatus(vo.getStatus());//当事人立场

             dto.setPname(vo.getPname());//当事人名称

             dto.setIdcardNo(vo.getIdcardNo());//当事人身份证号码
             dto.setLawyer(vo.getLawyer());//委托辩护人

             dto.setCrtTm(vo.getCrtTm());//创建时间
             dto.setCrtUsrId(vo.getCrtUsrId());//创建人
             dto.setMdfTm(vo.getMdfTm());//修改时间
             dto.setMdfUsrId(vo.getMdfUsrId());//修改人
         }
         return dto;
     }

	/**
	 * DTO 转  VO
	 * @param po YsejdCpwsPartyDTO
	 * @return YsejdCpwsPartyVO
	 */
	public static YsejdCpwsPartyVO toVO(YsejdCpwsPartyDTO dto) {
		YsejdCpwsPartyVO  vo = baseToVO(dto);
		//设置自定义扩展属性
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto YsejdCpwsPartyVO
	 * @return YsejdCpwsPartyDTO
	 */
	public static YsejdCpwsPartyDTO toDTO(YsejdCpwsPartyVO vo) {
		YsejdCpwsPartyDTO dto = baseToDTO(vo);
		//设置自定义扩展属性
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<YsejdCpwsPartyDTO>
	 * @return List<YsejdCpwsPartyVO>
	 */
	public static List<YsejdCpwsPartyVO> toVOList(List<YsejdCpwsPartyDTO> list) {
		List<YsejdCpwsPartyVO>  voList = new ArrayList<YsejdCpwsPartyVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (YsejdCpwsPartyDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<YsejdCpwsPartyVO>
	 * @return List<YsejdCpwsPartyDTO>
	 */
	public static List<YsejdCpwsPartyDTO> toDTOList(List<YsejdCpwsPartyVO> list) {
		List<YsejdCpwsPartyDTO>  dtoList = new ArrayList<YsejdCpwsPartyDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (YsejdCpwsPartyVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
